package com.app.basic.server;

import com.app.basic.dao.entity.SysUser;
import com.app.enums.RoleTypeEnum;
import com.app.model.dto.LoginDTO;
import com.app.model.dto.RegisterDTO;

import javax.crypto.BadPaddingException;
import javax.crypto.IllegalBlockSizeException;
import javax.crypto.NoSuchPaddingException;
import java.io.IOException;
import java.security.InvalidAlgorithmParameterException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.util.List;
import java.util.Map;

public interface UserServiceFace {


    Map<String, Object> login(LoginDTO loginDTO) throws InvalidAlgorithmParameterException, NoSuchPaddingException, IllegalBlockSizeException, NoSuchAlgorithmException, IOException, BadPaddingException, InvalidKeyException;

    SysUser getUserByUsername(String username);


    Object register(RegisterDTO registerDTO);

    List<RoleTypeEnum> roles();
}
